-- back_floor
-- create by cheny3
-- 释放回退卷轴/道具

return {
    -- 判断
    canTrigger = function(args)
        local start = args["start"];
        local layer = DungeonM.currentLayer();

        if start and layer < start then
            -- 没到指定的层数
            return false;
        end

        -- 在副本中
        if DungeonInstanceM.isInInstance() then
            return false;
        end

        -- 神龙夹层中
        if UnrealDungeonM.isInUnreal() then
            return false;
        end

        -- 回退的道具ID{限量版扫帚/魔毯}
        local itemIds = {7269, 7170};
        for _, classId in pairs(itemIds) do
            if PropertyM.canUse(classId, 0) then
                -- 有可以用的道具
                return true;
            end
        end

        -- 大地之门ID
        local spellId = 4005;
        if SpellM.canUseSpell(spellId, -1) then
            return true;
        end

        return false;
    end,

    -- 触发
    trigger = function(args)
        local chanceRange = args["chance"];
        if chanceRange and math.random(chanceRange[2]) > chanceRange[1] then
            -- 概率没触发
            return false;
        end

        -- 回退的道具ID{限量版扫帚/魔毯}
        local itemIds = {7269, 7170};
        for _, classId in pairs(itemIds) do
            if PropertyM.canUse(classId, -1) then
                -- 先把当前层的数据记录下来
                TestFightM.saveDungeonLog();
                -- 有可以用的道具
                return DungeonActionM.go("use_property", 0, classId);
            end
        end

        -- 大地之门ID
        local spellId = 4005;
        if SpellM.canUseSpell(spellId, -1) then
            -- 先把当前层的数据记录下来
            TestFightM.saveDungeonLog();
            -- 使用卷轴
            return DungeonActionM.go("use_spell", -1, spellId);
        end

        return false;
    end,
};
